home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / aspWebAlbum.nasl < prev    next >
Text File  |  2005-01-14  |  2KB  |  83 lines

  1. #
  2. # (C) Tenable Network Security
  3. #
  4.  
  5.  
  6. if(description)
  7. {
  8.  script_id(14817);
  9.  script_bugtraq_id(11246);
  10.  script_version("$Revision: 1.1 $");
  11.  name["english"] = "aspWebAlbum SQL Injection";
  12.  script_name(english:name["english"]);
  13.  
  14.  desc["english"] = "
  15. The remote host appears to be running aspWebAlbum, an ASP script
  16. designed to faciliate the integration of multiple photo albums in a
  17. web-based application.
  18.  
  19. There is a flaw in the remote software which may allow anyone
  20. to inject arbitrary SQL commands, which may in turn be used to
  21. gain administrative access on the remote host.
  22.  
  23. Solution : Upgrade to the latest version of this software
  24. Risk factor : High";
  25.  
  26.  
  27.  
  28.  script_description(english:desc["english"]);
  29.  
  30.  summary["english"] = "SQL Injection";
  31.  
  32.  script_summary(english:summary["english"]);
  33.  
  34.  script_category(ACT_GATHER_INFO);
  35.  
  36.  script_copyright(english:"This script is Copyright (C) 2004 Tenable Network Security");
  37.  family["english"] = "CGI abuses";
  38.  script_family(english:family["english"]);
  39.  script_dependencie("find_service.nes", "http_version.nasl");
  40.  script_require_ports("Services/www", 80);
  41.  exit(0);
  42. }
  43.  
  44. # Check starts here
  45.  
  46. include("http_func.inc");
  47. include("http_keepalive.inc");
  48.  
  49.  
  50. function check(req)
  51. {
  52.   host = get_host_name();
  53.   variables = "txtUserName=%27&txtPassword=&LoginButton=Login";
  54.   req = string("POST ", req, " HTTP/1.1\r\n", 
  55.             "Host: ", host, ":", port, "\r\n", 
  56.           "Content-Type: application/x-www-form-urlencoded\r\n", 
  57.           "Content-Length: ", strlen(variables), "\r\n\r\n", variables);
  58.  
  59.   buf = http_keepalive_send_recv(port:port, data:req);
  60.   if(buf == NULL)exit(0);
  61.  
  62.   if("error '80040e14'" >< buf &&
  63.      "'Gal_UserUserName = ''''" >< buf )
  64.       {
  65.     security_hole(port);
  66.     exit(0);
  67.     }
  68.  
  69.  
  70.  return(0);
  71. }
  72.  
  73. port = get_http_port(default:80);
  74.  
  75. if(!get_port_state(port))exit(0);
  76. if ( ! can_host_asp(port:port) ) exit(0);
  77.  
  78.  
  79. foreach dir (cgi_dirs()) 
  80.  {
  81.   check(req:dir + "/album.asp?action=processlogin");
  82.  }
  83.